package day05;

/**
 * 基本类型：形式参数的改变对实际参数没有影响 引用类型：形式参数的改变直接影响实际参数
 * 
 * 注：java中没有引用传递，只有值传递。
 */
public class ArgsDemo {
    public static void main(String[] args) {
        int a = 10;
        int b = 20;
        System.out.println("a:" + a + ", b:" + b);
        change(a, b); // 基本类型
        System.out.println("a:" + a + ", b:" + b);

        System.out.println("-------");
        int[] arr = {1,2,3,4,5};
        change(arr);
        System.out.println(arr[1]); // 4
    }

    public static void change(int a, int b) {
        System.out.println("a:" + a + ", b:" + b);
        a = b;
        b = a + b;
        System.out.println("a:" + a + ", b:" + b);
    }

    public static void change(int[] arr) {
        for (int i = 0; i < arr.length; i++) {
            if (arr[i] % 2 == 0) {
                arr[i] *= 2;
            }
        }
    }
}
